局部函数

您所在的位置:网站首页 matlab 调用其他文件 局部函数

局部函数

#局部函数 | 来源: 网络整理| 查看: 265

局部函数

本主题解释局部函数并说明如何创建和使用局部函数。

MATLAB® 程序文件可以包含用于多个函数的代码。在函数文件中,第一个函数称为主函数。此函数对其他文件中的函数可见,或者您也可以从命令行调用它。文件中的其他函数称为局部函数,它们可以任意顺序出现在主函数后面。局部函数仅对同一文件中的其他函数可见。它们等效于其他编程语言的子例程,有时被称为子函数。

自 R2016b 起,您也可以在脚本文件中创建局部函数,只要这些函数都出现在脚本代码的最后一行的后面。有关详细信息,请参阅向脚本中添加函数。

例如,创建一个名为 mystats.m 的函数文件,其中包含主函数 mystats 以及两个局部函数 mymean 和 mymedian。

function [avg, med] = mystats(x) n = length(x); avg = mymean(x,n); med = mymedian(x,n); end function a = mymean(v,n) % MYMEAN Example of a local function. a = sum(v)/n; end function m = mymedian(v,n) % MYMEDIAN Another example of a local function. w = sort(v); if rem(n,2) == 1 m = w((n + 1)/2); else m = (w(n/2) + w(n/2 + 1))/2; end end

局部函数 mymean 和 mymedian 计算输入列表的平均值和中位数。主函数 mystats 决定着列表 n 的长度并将其传递到局部函数。

虽然您不能从命令行或其他文件中的函数调用局部函数,但您可以使用 help 函数访问其帮助。同时指定文件和局部函数的名称,用 > 字符将它们隔开:

help mystats>mymean mymean Example of a local function.

当前文件中的局部函数优先于其他文件中的函数和类方法。即,当您在程序文件内调用函数或方法时,MATLAB 在查找其他主函数前检查该函数是否为局部函数。因此,您可以在创建特定函数的备用版本的同时,将原始版本保留在另一文件中。

包括局部函数在内的所有函数都有与基础工作区分开的专属工作区。局部函数不能访问其他函数使用的变量,除非您将这些变量作为参数传递。与此相反,嵌套函数(完全包含在另一函数内的函数)可以访问包含它们的函数使用的变量。

另请参阅

localfunctions

相关主题嵌套函数函数优先顺序函数类型


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3